In many of today's data centers, servers are shared across multiple applications. However, current tools for allocating servers or server partitions to applications typically rely on offline capacity planning and performing a static partitioning of system resources to support these co-hosted applications. For example, each application is allocated a maximum entitlement of system resources for execution. Many times, the amount of the maximum entitlement of system resources is either based on anticipated peak load or demand profiles computed from historic data. However, the entitlement of system resources is static. For example, the entitlement of system resources is determined and used for a long period of time before being re-evaluated. This static entitlement typically results in low utilization of system resources and does not take full advantage of demands that vary over time due to changes in operating conditions and user demands.